package com.jdls.day15.work;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

/**
 * @author 嘉德罗斯
 * @date 2021/8/6
 */
public class Dome5 implements Runnable {
    Random ra = new Random();
    //	问题：
    //	已知奖池中有以下奖励：int[] arr = {85, 100, 60, 10, 50, 20,22,8};
    //	使用两个线程实现随机抽奖。
    //		要求：
    //			1. 每抽一个打印一个奖金，每个奖金只能抽取一次。
    //			2. 抽完奖后统计每个线程抽到的总奖金
    //		举例：
    //			抽奖箱1抽中了100元奖金。。。
    //			抽奖箱2抽中了22元奖金。。。
    //			抽奖箱2抽中了60元奖金。。。
    //			...
    //			抽奖箱1总共抽中了XXX元奖金
    //			抽奖箱2总共抽中了XXX元奖金
    int[] arr = {85, 100, 60, 10, 50, 20, 22, 8};
    ArrayList<Integer> list = new ArrayList<>();
    int sum1 = 0;
    int sum2 = 0;

    @Override
    public void run() {
        while (true) {
            synchronized (this) {
                int a = ra.nextInt(arr.length);
                if (list.size() == arr.length) {
                    break;
                } else if (list.contains(arr[a])) {
                    continue;
                } else {
                    list.add(arr[a]);
                    if (Thread.currentThread().getName().equals("嘉德罗斯一共")) {
                        System.out.println(Thread.currentThread().getName()+(sum1 += arr[a]));
                    } else {
                        System.out.println(Thread.currentThread().getName()+(sum2 += arr[a]));
                    }
                }
            }
        }
    }
}
